\hypertarget{classIPacketSource}{
\section{\-I\-Packet\-Source \-Class \-Reference}
\label{classIPacketSource}\index{\-I\-Packet\-Source@{\-I\-Packet\-Source}}
}


packet source implementing a packet-\/based protocol  




{\ttfamily \#include $<$packet\-\_\-source.\-h$>$}

\-Inheritance diagram for \-I\-Packet\-Source\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classIPacketSource}
\end{center}
\end{figure}
\subsection*{\-Public \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classIPacketSource_a5f53142d90067b3bf06946c5153d7202}{\-I\-Packet\-Source} ()
\item 
virtual \hyperlink{classIPacketSource_aade4d01ce5fa23ce4efa867480e497fb}{$\sim$\-I\-Packet\-Source} ()
\item 
virtual \hyperlink{namespaceNPacketSource_a41d32c941906c55fd056bc4be5e0c79b}{\-N\-Packet\-Source\-::\-E\-Payload\-Info} \hyperlink{classIPacketSource_a646c3a5cc1c03628145471697b1abf54}{get\-Packet} (void $\ast$\&p\-Packet, unsigned int \&p\-Packet\-Length, unsigned int p\-Max\-Length)=0
\item 
virtual void \hyperlink{classIPacketSource_ad2c03d2e3370eef80a207617bd561f26}{put\-Packet} (void $\ast$p\-Packet, unsigned int p\-Packet\-Length)=0
\end{DoxyCompactItemize}


\subsection{\-Detailed \-Description}
packet source implementing a packet-\/based protocol 

\begin{DoxyAuthor}{\-Author}
jwurzer, mnutzinger 
\end{DoxyAuthor}


\subsection{\-Constructor \& \-Destructor \-Documentation}
\hypertarget{classIPacketSource_a5f53142d90067b3bf06946c5153d7202}{
\index{\-I\-Packet\-Source@{\-I\-Packet\-Source}!\-I\-Packet\-Source@{\-I\-Packet\-Source}}
\index{\-I\-Packet\-Source@{\-I\-Packet\-Source}!IPacketSource@{\-I\-Packet\-Source}}
\subsubsection[{\-I\-Packet\-Source}]{\setlength{\rightskip}{0pt plus 5cm}\-I\-Packet\-Source\-::\-I\-Packet\-Source (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classIPacketSource_a5f53142d90067b3bf06946c5153d7202}
\hypertarget{classIPacketSource_aade4d01ce5fa23ce4efa867480e497fb}{
\index{\-I\-Packet\-Source@{\-I\-Packet\-Source}!$\sim$\-I\-Packet\-Source@{$\sim$\-I\-Packet\-Source}}
\index{$\sim$\-I\-Packet\-Source@{$\sim$\-I\-Packet\-Source}!IPacketSource@{\-I\-Packet\-Source}}
\subsubsection[{$\sim$\-I\-Packet\-Source}]{\setlength{\rightskip}{0pt plus 5cm}virtual \-I\-Packet\-Source\-::$\sim$\-I\-Packet\-Source (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline, virtual\mbox{]}}}}
\label{classIPacketSource_aade4d01ce5fa23ce4efa867480e497fb}


\subsection{\-Member \-Function \-Documentation}
\hypertarget{classIPacketSource_a646c3a5cc1c03628145471697b1abf54}{
\index{\-I\-Packet\-Source@{\-I\-Packet\-Source}!get\-Packet@{get\-Packet}}
\index{get\-Packet@{get\-Packet}!IPacketSource@{\-I\-Packet\-Source}}
\subsubsection[{get\-Packet}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf \-N\-Packet\-Source\-::\-E\-Payload\-Info} \-I\-Packet\-Source\-::get\-Packet (
\begin{DoxyParamCaption}
\item[{void $\ast$\&}]{p\-Packet, }
\item[{unsigned int \&}]{p\-Packet\-Length, }
\item[{unsigned int}]{p\-Max\-Length}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}pure virtual\mbox{]}}}}
\label{classIPacketSource_a646c3a5cc1c03628145471697b1abf54}
get a packet from the packet source (from upper to lower layer) \begin{DoxyNote}{\-Note}
p\-Packet and p\-Packet\-Length only make sense if return value is true 

minimum payload length is always 1 (if return value of true)
\end{DoxyNote}

\begin{DoxyParams}{\-Parameters}
{\em p\-Packet} & pointer to the bytes representing the packet \\
\hline
{\em p\-Packet\-Length} & number of bytes \\
\hline
{\em p\-Max\-Length} & maximum number of bytes for the returned packet \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{\-Returns}
true on data available, false otherwise 
\end{DoxyReturn}


\-Implemented in \hyperlink{classCStreamBuilder_a2a74e55838f864d369c88b24508f19fb}{\-C\-Stream\-Builder}, and \hyperlink{classCDatagramBuilder_a181dc65bc7cda68d55ac289dfff4e241}{\-C\-Datagram\-Builder}.

\hypertarget{classIPacketSource_ad2c03d2e3370eef80a207617bd561f26}{
\index{\-I\-Packet\-Source@{\-I\-Packet\-Source}!put\-Packet@{put\-Packet}}
\index{put\-Packet@{put\-Packet}!IPacketSource@{\-I\-Packet\-Source}}
\subsubsection[{put\-Packet}]{\setlength{\rightskip}{0pt plus 5cm}virtual void \-I\-Packet\-Source\-::put\-Packet (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{p\-Packet, }
\item[{unsigned int}]{p\-Packet\-Length}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}pure virtual\mbox{]}}}}
\label{classIPacketSource_ad2c03d2e3370eef80a207617bd561f26}
put a packet to the packet source (from lower to upper layer)


\begin{DoxyParams}{\-Parameters}
{\em p\-Packet} & pointer to the bytes representing the packet \\
\hline
{\em p\-Packet\-Length} & number of bytes \\
\hline
\end{DoxyParams}


\-Implemented in \hyperlink{classCStreamBuilder_ad3fb845b492550facda63badddda0ada}{\-C\-Stream\-Builder}, and \hyperlink{classCDatagramBuilder_a1819520ff57281331f9b202e2aa5772d}{\-C\-Datagram\-Builder}.



\-The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
\item 
\hyperlink{packet__source_8h}{packet\-\_\-source.\-h}\end{DoxyCompactItemize}
